﻿using System;
using System.Collections.Generic;
using ShopB2C.Entity;
using ShopB2C.Parameters;

namespace ShopB2C.ViewModels {
    [Serializable]
    public class ClassifyViewModel {
        /// <summary>
        /// 分类模块
        /// </summary>
        public string ModuleName { get; set; }
        /// <summary>
        /// 分类参数传递
        /// </summary>
        public ClassifyParam ClassifyParams { get; set; }
        /// <summary>
        /// 分类实体
        /// </summary>
        public ClassifyEntity Classify { get; set; }
        /// <summary>
        /// 分类实体集
        /// </summary>
        public List<ClassifyEntity> ClassifyList { get; set; }
        /// <summary>
        /// 分类路径集
        /// </summary>
        public List<ClassifyEntity> PathList { get; set; }
        /// <summary>
        /// 是否允许具有特性
        /// </summary>
        public bool IsAllowHasProperty { get; set; }
        /// <summary>
        /// 是否允许具有子分类
        /// </summary>
        public bool IsAllowHasChild { get; set; }
    }

    [Serializable]
    public class ClassifyPropertyViewModel {
        /// <summary>
        /// 分类名称
        /// </summary>
        public string ClassifyName { get; set; }
        /// <summary>
        /// 分类参数传递
        /// </summary>
        public ClassifyParam ClassifyParams { get; set; }
        /// <summary>
        /// 分类特性实体
        /// </summary>
        public ClassifyPropertyEntity ClassifyProperty { get; set; }
        /// <summary>
        /// 分类特性实体集
        /// </summary>
        public List<ClassifyPropertyEntity> ClassifyPropertyList { get; set; }
        /// <summary>
        /// 分页实体
        /// </summary>
        public object Pager { get; set; }
    }

    [Serializable]
    public class ClassifyPropertyValViewModel {
        /// <summary>
        /// 特性名称
        /// </summary>
        public string PropertyName { get; set; }
        /// <summary>
        /// 分类参数传递
        /// </summary>
        public ClassifyParam ClassifyParams { get; set; }
        /// <summary>
        /// 分类特性值实体
        /// </summary>
        public ClassifyPropertyValEntity ClassifyPropertyVal { get; set; }
        /// <summary>
        /// 分类特性值实体集
        /// </summary>
        public List<ClassifyPropertyValEntity> ClassifyPropertyValList { get; set; }
        /// <summary>
        /// 分页实体
        /// </summary>
        public object Pager { get; set; }
    }
}
